This invention relates to the field of multiprocessor computer operation, specifically efficient operation of multiprocessor computers using overset grids.
The overset grid approach for computing field simulations around geometrically complex configurations has been widely used since its inception in the early 1970s. The overset grid approach is attractive because a complex geometry can be divided into its inherently simpler parts while maintaining the overall complex geometry. Each part can then be gridded separately, a less complicated process than gridding the entire complex geometry. The grid can be computationally re-combined in a solver to yield a smooth solution within and across each grid domain. The overset grid approach has continued to mature in the serial computing environment, for example, seeing use in well-known compressible and incompressible Navier-Stokes flow solvers.
An overset grid application typically begins with a background grid. The background grid can cover the whole problem space. Other grids covering portions of the problem space can also be defined. For example, a fine grid can be defined covering a portion of the problem space where higher resolution is desired. The background and other grids can each be called an xe2x80x9coverset gridxe2x80x9d. FIG. 1 illustrates these concepts. Overset grid G1 encompasses a problem space and corresponds to simulation of phenomena throughout the problem space. Overset grid G2 encompasses a region of the problem space near object J where higher resolution simulation is required. Interpolation transformations (not shown) allow values from one overset grid (for example, G1) to be used to establish values in the other overset grid (for example, G2), assuring that the simulation is consistent across both overset grids G1, G2. Overset grid G2 allows high resolution where high resolution is required, while overset grid G1 allows low resolution (and consequently low execution time) where low resolution is acceptable.
In operation, a computer determines values for points in a first overset grid. Boundary conditions for a second overset grid can be determined by interpolating selected values from the first overset grid or from other overset grids. The computer then determines values for the other points in the second overset grid. Selected values from the second overset grid can then be used in interpolations to determine boundary conditions for other overset grids. The process can repeat until a terminal condition is reached, such as, for example, convergence of a simulation.
Overset grid applications are well-suited for problems where varying resolution or varying problem complexity indicate different grids. Unfortunately, overset grids have not fared well on multiprocessor computers. The wide range of possible overset grid sizes can lead to poor load balance, limiting the multiprocessor computer""s performance. Also, communication and interpolation of boundary conditions can be problematic when overset grids are subdivided amongst multiple processors.
Accordingly, there is a need for a multiprocessor computer overset grid method and apparatus that maintains substantial load balance and efficient communication and interpolation of boundary conditions in overset grid applications.
The present invention provides a multiprocessor computer overset grid method and apparatus that maintains substantial load balance and efficient communication and interpolation of boundary conditions in overset grid applications. The present method comprises associating points in each overset grid with processors and using mapped interpolation transformations to communicate intermediate values between processors associated with base and target points of the interpolation transformations.
Each point in each overset grid is first associated with a processor. An initial overset grid is then selected, and values for points in the initial overset grid are determined (for example, by computational simulation of physical phenomena). A second overset grid is then selected. Values can then be determined for points in the second overset grid that are target points of interpolation transformations from base points in the initial overset grid. Values can then be determined for the remaining points in the second overset grid. The process can be repeated, using the second overset grid as the initial overset grid, until a terminal condition is reached.
Static load balance can be fostered in the association of overset grid points with processors. Each overset grid can have a certain number of points assigned to each of the processors, for example, each processor can be assigned a substantially equal number of points from each overset grid if the workload associated with the points is substantially similar. Each processor will consequently have substantially the same workload during operation, assuring effective load balance. Additionally, the points in each overset grid can be assigned to processors to maximize efficiency, for example, by minimizing the surface area to volume ratio of each processor""s assigned points if communication costs are of concern.
Advantages and novel features will become apparent to those skilled in the art upon examination of the following description or may be learned by practice of the invention. The objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.